/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import persistencia.PersistenciaMovimiento;
import java.util.*;
/**
 * Clase controladora entre la Vista la logica de Negocio y la Persistencia
 * @author JAVA
 */
public class GestionMovimientos {
    
    /**
     * Crea un movimiento y lo inserta en la BBDD
     * @param Cliente que realiza el movimiento
     * @param cantidad de dinero (Positivo o negativo según)
     * @param descripcion del movimiento
     */
    public static void addMovimiento(Cliente c,float cantidad,String descripcion){
        float saldoAntiguo=c.getSaldo();
        float saldoNuevo=saldoAntiguo+cantidad;
        Movimiento m=new Movimiento(c, descripcion,new Date(), saldoAntiguo,saldoNuevo, cantidad);
        if(PersistenciaMovimiento.insertarMovimiento(m)==1){
            System.out.println("Movimiento insertado correctamente");
        }else{
            System.out.println("Movimiento NO insertado");
        }
    }
    
    
    /**
     * Recibe una lista de movimientos de la Persistencia a partir de un cliente  y los muestra 
     * @param cliente sobre el que se buscan los movimientos
     */
    public static void mostrarMovimientos(Cliente c){
        List<Movimiento> mov=PersistenciaMovimiento.mostrarMovimientos(c);
        Iterator it=mov.iterator();
        System.out.println("Hay "+mov.size()+" movimientos");        
        while(it.hasNext()){            
            Movimiento m=(Movimiento)it.next();
            System.out.println("---------------------");
            System.out.println("Fecha: "+m.getFecha().toString());
            System.out.println("Concepto: "+m.getConcepto());
            System.out.println("Saldo antiguo: "+m.getSaldoAntiguo()+" Saldo nuevo: "+m.getSaldoNuevo());
            System.out.println("Cantidad: "+m.getCantidad());
        }
    }
}
